package com.cargohu.aishouyu.auth.service;

import com.cargohu.aishouyu.auth.vo.LoginTokenVo;
import com.cargohu.aishouyu.auth.vo.MemberLoginRedisVo;

/**
 * 移动端登录
 *
 * @author aaron.wang
 * @date 2023/11/27 18:09
 */
public interface MobileLoginService {

    /**
     * 微信登录
     *
     * @param code
     * @return
     * @throws Exception
     */
    LoginTokenVo login(String code) throws Exception;

    /**
     * 获取登录用户信息
     *
     * @return
     * @throws Exception
     */
    MemberLoginRedisVo getLoginUserInfo() throws Exception;

    /**
     * 登出
     *
     * @throws Exception
     */
    void logout() throws Exception;

    /**
     * 短信登录
     *
     * @param phone 手机号码
     * @param code  验证码
     */
    LoginTokenVo login(String phone, String code) throws Exception;


    /**
     * 发送手机验证码
     *
     * @param mobile mobile
     * @return code
     */
    String sendSmsCode(String mobile);
}
